ESERCIZI MODULO BASI DI DATI

 

Esercizio n. 1

Si considerino i seguenti fatti di interesse di una scuola media.

Insegnanti: un insegnante è identificato dal codice fiscale; di ogni insegnante interessa il cognome, il nome, le materie d’insegnamento, le classi in cui insegna (supponiamo che un insegnante possa insegnare materie diverse in classi diverse, ad es. Italiano in una classe e Storia e Geografia in un’altra classe).

Studenti: uno studente è identificato da cognome, nome, di ogni studente interessa inoltre il luogo di nascita, la data di nascita, la classe che frequenta.

Classi: una classe è identificata da un numero (1, 2 o 3) e dalla sezione; di ogni classe interessa inoltre il numero di studenti che la frequentano, gli insegnanti che vi insegnano e gli studenti che la frequentano.

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema del punto b in SQL

d)      Definire un’interrogazione in SQL che restituisca il numero di studenti della classe frequentata da Paoli Piero

e)       Definire in SQL, le operazioni da eseguire nel caso che lo studente Paoli Piero abbandoni la scuola

 

Esercizio n. 2

Un calzaturificio si rifornisce di pellame da vari fornitori e consulta vari stilisti per scegliere il modello delle scarpe che produce.

Di ogni fornitore interessa il nome, la sede, il pellame che produce.

Del pellame interessa il materiale (vitello, coccodrillo, sintetico,…), il prezzo ed i fornitori.

Delle scarpe interessa il modello, il nome dello stilista che lo ha disegnato, il prezzo di vendita e il pellame

a)       Modellare i fatti sopra descritti nel modello E-R, scegliendo un codice come chiave per ogni entità.

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema del punto b) in SQL

d)      Definire in SQL l’interrogazione: “Quali fornitori producono il pellame per le scarpe il cui modello è disegnato dallo stilista XY”

 

Esercizio n. 3

Si considerino i seguenti fatti di interesse di un’agenzia immobiliare.

Immobili in vendita: di un immobile, identificato da un codice, interessa il tipo (appartamento, villa, …), la superficie, il numero di vani, eventuali annessi (garage, cantina, giardino, …), il prezzo richiesto, il proprietario.

Proprietari: un proprietario è identificato dal codice fiscale; di ogni proprietario interessa il cognome, il nome, il num. Telefonico, gli immobili in vendita di cui è proprietario.

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema del punto b) in SQL

d)      Definire una interrogazione in SQL che restituisca codice fiscale, cognome e nome dei proprietari di appartamenti di 5 vani per i quali è richiesta una cifra inferiore a 300 milioni

 

Esercizio n. 4

Si consideri un’anagrafe contenente informazioni riguardanti persone:

Codice fiscale (che identifica una persona), cognome, nome, sesso, età, comune di residenza, se la persona lavora oppure no.

Se una persona lavora è specificata la sua attività ed il comune in cui questa si svolge, se invece non lavora è specificato se è disoccupata od in attesa di primo impiego.

I comuni sono identificati dal nome, di essi viene inoltre specificata la provincia, la regione ed il numero di abitanti

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema del punto b) in SQL

d)      Definire in SQL un’interrogazione che restituisca cognome e nome delle persone che lavorano in provincia di Pisa.

e)       Con riferimento allo schema del punto b) scrivere un’espressione dell’algebra relazionale che restituisca nome, cognome e sesso di una persona che lavora nel comune di Lucca

 


Esercizio n. 5

Si considerino le seguenti informazioni di interesse di una ditta di autotrasporti.

Le informazioni che interessano riguardano:

Gli automezzi: targa, marca, tipo, portata;

gli autisti: codice fiscale, cognome, nome, età, indirizzo;

i viaggi compiuti e quelli in corso: codice viaggio, automezzo utilizzato, l’autista (o gli autisti), una descrizione del carico trasportato, città di partenza, data e ora di partenza, città di destinazione, data e ora di arrivo (se il viaggio è terminato).

a)       Definire lo schema concettuale dei dati nel modello E-R e

b)      tradurlo nel modello relazionale

c)       Definire la base dati in SQL

d)      Definire in SQL una tabella virtuale Autistiinviaggio contenente il codice fiscale, cognome, nome, destinazione di tutti gli autisti impegnati in viaggi non ancora conclusi

 

Esercizio n. 6

Si considerino i seguenti fatti relativi ad un istituto di ricerca.

L’istituto è composto di sezioni; una sezione è identificata da un codice; di una sezione interessa il nome, il responsabile, i ricercatori che vi afferiscono.

Un ricercatore è identificato da un codice; di un ricercatore interessa il nome, la sezione di appartenenza, i progetti a cui partecipa.

Un progetto è identificato da un codice; di un progetto interessa l’obiettivo, il responsabile, i ricercatori che vi partecipano

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema della base di dati in SQL

 

Esercizio n. 7

In una società di software vengono eseguiti lavori per conto di clienti; per l’esecuzione di tali lavori possono essere impiegati sia dipendenti della società che consulenti esterni, ma il responsabile è sempre un dipendente.

Di ciascun dipendente, identificato dal codice fiscale, interessa il nome, il cognome, la qualifica, la data di assunzione, i lavori in cui è impegnato e se ne è il responsabile.

Di ciascun consulente, identificato dal codice fiscale, interessa il nome e cognome, la partita IVA, l’indirizzo, i lavori in cui è impegnato, la retribuzione pattuita per ciascun lavoro.

Dei clienti, identificati dal codice fiscale, interessa il nome e cognome oppure la denominazione se trattasi di una ditta, ed i lavori commissionati.

Di ciascun lavoro in corso, identificato da un codice, interessa la data di inizio, il costo, il personale impegnato (dipendenti e/o consulenti), il cliente che lo ha commissionato

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema della base dati in SQL

d)      Definire una vista (tabella virtuale) contenente cognome, nome, partita Iva dei consulenti impegnati in lavori per i quali è prevista una retribuzione superiore ad un milione.

e)       Definire una interrogazione SQL che restituisca, per ciascun cliente, il codice fiscale del cliente, la denominazione ed il costo totale dei lavori commissionati dal cliente e che hanno avuto inizio nel marzo 2000

 

Esercizio n. 8

La base dati di una farmacia contiene i dati relativi alla vendita e all’acquisto di farmaci durante l’anno. I dati disponibili sono:

nome del farmaco

codice (univoco) del farmaco

per ogni farmaco, la data ed il numero di esemplari venduti in quella data;

a)       Definire uno schema E-R ed uno schema relazionale che modellino tali informazioni

b)      Definire la base dati in SQL

c)       Definire una tabella virtuale, ordinata per nome_farmaco, che abbia il seguente formato:

[nome_farmaco, quantità_venduta]

            relativa ai farmaci venduti nel 2000

 


Esercizio n. 9

Si considerino i seguenti fatti di interesse di una impresa edile:

L’impresa è articolata in 4 settori: Progetti, Costruzione, Amministrazione, Vendite; ogni settore ha un responsabile, ed oltre a questi, di ogni settore interessano gli altri dipendenti.

I dipendenti sono identificati dal codice fiscale: di ciascun dipendente interessano i dati anagrafici, la qualifica, il settore di appartenenza (ogni dipendente appartiene ad uno ed un solo settore).

I cantieri aperti sono identificati da un codice: di ciascun cantiere interessa il progettista (appartenente al settore Progetti), il direttore dei lavori, il capocantiere, gli operai che vi lavorano (appartenenti al settore Costruzione), il nome del cliente per il quale viene eseguito il lavoro.

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema della base dati in SQL

 

 

Esercizio n. 10

Si prendano in esame i seguenti fatti, riguardanti il crimine organizzato:

I criminali sono organizzati in bande; di ciascuno di essi, identificato da un codice, interessano i dati anagrafici, la banda cui è affiliato, gli eventuali crimini addebitategli con l’anno in cui gli investigatori hanno formulato l’incriminazione.

Di ogni banda, identificata da un codice, interessa il nome, il capo e gli altri affiliati, le altre bande con cui eventualmente collabora. Una banda è costituita da almeno tre affiliati, compreso il capo.

Di ogni crimine, identificato da un codice, interessa il luogo e la data, le persone colpite, gli eventuali responsabili.

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema della base dati in SQL

d)      Definire una interrogazione in SQL che data una banda, restituisca tutti i crimini addebitati ai suoi affiliati

 

Esercizio n. 11

Si considerino i seguenti fatti, di interesse di un ospedale:

Reparti: un reparto è identificato da un codice; di ogni reparto interessa il nome, i medici operanti nel reparto, i pazienti ricoverati, il direttore.

Pazienti: un paziente è identificato da un numero; di ogni paziente interessa il nome, il sesso, il reparto in cui è ricoverato, la data di ricovero.

Medici: un medico è identificato dal codice fiscale: di ciascun medico interessa il nome, la specializzazione, il reparto di  appartenenza.

a)       Modellare i fatti sopra descritti nel modello E-R

b)      Tradurre lo schema E-R in uno schema relazionale

c)       Definire lo schema della base dati in SQL